package com.peas.platform.module.icims.base.approve.enums;

import com.peas.platform.common.core.enums.BaseEnum;
import com.peas.platform.common.core.enums.CommonElType;

public enum ApproveOrderBusinessType implements BaseEnum {

    budgetProjectTwo(ApproveBusiness.budgetProjectTwo, CommonElType.primary),
    budgetOne(ApproveBusiness.budgetOne, CommonElType.primary),
    budgetTwo(ApproveBusiness.budgetTwo, CommonElType.primary),
    budgetNew(ApproveBusiness.budgetNew, CommonElType.primary),
    budgetAdjust(ApproveBusiness.budgetAdjust, CommonElType.primary),

    expenditureKpi(ApproveBusiness.expenditureKpi, CommonElType.primary),
    expenditureQuota(ApproveBusiness.expenditureQuota, CommonElType.primary),
    expenditureAdjustment(ApproveBusiness.expenditureAdjustment, CommonElType.primary),
    expenditureApplication(ApproveBusiness.expenditureApplication, CommonElType.primary),
    expenditureReimbursement(ApproveBusiness.expenditureReimbursement, CommonElType.primary),
    expenditureReimbursementOther(ApproveBusiness.expenditureReimbursementOther, CommonElType.primary),

    contractInitial(ApproveBusiness.contractInitial, CommonElType.primary),
    contractMain(ApproveBusiness.contractMain, CommonElType.primary),
    contractSupplemental(ApproveBusiness.contractSupplemental, CommonElType.primary),
    contractChange(ApproveBusiness.contractChange, CommonElType.primary),
    contractCash(ApproveBusiness.contractCash, CommonElType.primary),
    contractBorrow(ApproveBusiness.contractBorrow, CommonElType.primary),
    contractChecking(ApproveBusiness.contractChecking, CommonElType.primary),
    contractInterrupt(ApproveBusiness.contractInterrupt, CommonElType.primary),
    contractTerminate(ApproveBusiness.contractTerminate, CommonElType.primary),
    ;

    private final String key;
    private final String value;
    private final CommonElType elTagType;

    ApproveOrderBusinessType(ApproveBusiness business, CommonElType elTagType) {
        this.key = business.getKey();
        this.value = business.getValue();
        this.elTagType = elTagType;
    }

    ApproveOrderBusinessType(String key, String value, CommonElType elTagType) {
        this.key = key;
        this.value = value;
        this.elTagType = elTagType;
    }

    @Override
    public String getKey() {
        return this.key;
    }

    @Override
    public String getValue() {
        return this.value;
    }

    @Override
    public CommonElType getElTagType() {
        return elTagType;
    }
}
